Various features described herein relate generally to a tightly-integrated parallel printing architecture and more specifically to print job plan optimization.
On-line planning and scheduling is a key technique for high-speed manufacturing. An important problem in this area is in what order to consider scheduling jobs that belong to different batches that are being produced simultaneously, in order to minimize the time it takes to complete all batches. The problem becomes more complicated when unknown batches may arrive at any time, and when jobs in the same batch must be completed in order.
A21884 (Markus Fromhertz and Daniel Bobrow): “Predictive and Preemptive Planning and Scheduling for Different Job Priorities” discusses the problem of giving preferences to jobs with higher priority when deciding which jobs to plan next. This requires users to give an explicit priority value for each job.
In a manufacturing plant that can process multiple batches of jobs at the same time, it is important to coordinate the production of these concurrent batches in a way that optimizes some performance objective, such as maximizing the overall throughput of the plant. Typically the planner/scheduler only plans one job at a time, fitting in the new job around the constraints from the previous jobs. A simple approach that has been investigated in the past is to merge different batches to form a single stream of job descriptions that contains jobs from all concurrent batches. However, because there are many possible ways to interleave the constituent jobs of two or more batches, this approach relies on a “job linearizer” that computes a linear ordering of all the jobs in the concurrent batches. Linearized jobs are then fed to the planner, which plans in the order in which jobs are received. This method is referred to as the “single-queue approach,” since it requires the planner to maintain only a single planning queue. There is an unmet need for systems and methods that overcome the deficiencies described above.